import axios from '@/request/http'
import { commonOutDTO, pageCommonInputDTO, pageCommonOutDTO } from '@/api/common.d'
import {
  GnpzSaveInputDTO,
  GnpzSaveOutputDTO,
  PzGetInputDTO,
  PzGetOutputDTO,
  DcpzSaveInputDTO,
  PzmbInitInputDTO,
  AjglgxAddInputDTO,
  AjglgxDeleteInputDTO,
  AjglgxQueryParam,
  AjglgxQueryResult,
  YwxxGetInputDTO,
  YwxxGetOutputDTO,
  MbpzAddInputDTO,
  MbpzDeleteInputDTO,
  MbpzUpdateInputDTO,
  MbpzGetInputDTO,
  MbpzGetOutputDTO,
  MbpzQueryParam,
  MbpzQueryResult,
  JnmlAddInputDTO,
  DeleteJnmlBatchInputDTO,
  JnmlUpdateInputDTO,
  JnmlGetInputDTO,
  JnmlGetOutputDTO,
  JnmlQueryParam,
  JnmlQueryResult,
  JnmlsxUpdateInputDTO,
  WsgjmlQueryParam,
  WsgjmlQueryResult,
  SaveInputDTO,
  FldmQueryParam,
  FldmQueryResult,
  DcpzGetInputDTO,
  DcpzGetOutputDTO,
  MbpzEnableInputDTO,
  WsgjmxQueryParam,
  WsgjmxQueryResult,
  FldmOuputDTO,
  saveRygnpzInputDTO,
  getRygnpzInputDTO,
  getMlmbInputDTO,
  getJnmlInputDTO,
  JnmlOutputDTO,
  addBatchMlInputDTO,
  addBatchMlOutputDTO,
  queryFldmInputDTO,
} from './xtpz-dto'

export default class xtpzService {
  /**
   * 保存功能配置
   */
  static saveGnpz(data: GnpzSaveInputDTO): Promise<commonOutDTO<GnpzSaveOutputDTO>> {
    return axios.post('/api/xtpz/saveGnpz', data)
  }
  /**
   * 获取系统配置_配置
   */
  static getGnpz(): Promise<commonOutDTO<PzGetOutputDTO>> {
    return axios.post('/api/xtpz/getGnpz')
  }
  /**
   * 保存导出配置
   */
  static saveDcpz(data: DcpzSaveInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/xtpz/saveDcpz', data)
  }
  /**
   * 恢复默认
   */
  static initPzmb(data: PzmbInitInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/xtpz/initPzmb', data)
  }
  /**
   * 新增案卷关联关系表
   */ //AjglgxAddInputDTO
  static addAjglgx(data: any): Promise<commonOutDTO<null>> {
    return axios.post('/api/xtpz/addAjglgx', data)
  }
  /**
   * 删除案卷关联关系表
   */
  static deleteAjglgx(data: AjglgxDeleteInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/xtpz/deleteAjglgx', data)
  }
  /**
   * 查询案卷关联关系列表表
   */
  static queryAjglgx(data: AjglgxQueryParam): Promise<commonOutDTO<AjglgxQueryResult[]>> {
    return axios.post('/api/xtpz/queryAjglgx', data)
  }
  /**
   * 查询案卷关联关系列表表
   */
  static queryAjglgxml(data: AjglgxQueryParam): Promise<commonOutDTO<AjglgxQueryResult[]>> {
    return axios.post('/api/xtpz/queryAjglgxml', data)
  }
  /**
   * 获取业务案件类别关系
   */
  static getYwxx(data: YwxxGetInputDTO): Promise<commonOutDTO<YwxxGetOutputDTO>> {
    return axios.post('/api/xtpz/getYwxx', data)
  }
  /**
   * 新增模板配置
   */
  static addMbpz(data: MbpzAddInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/xtpz/addMbpz', data)
  }
  /**
   * 删除归档模板配置表
   */
  static deleteMbpz(data: MbpzDeleteInputDTO[]): Promise<commonOutDTO<null>> {
    return axios.post('/api/xtpz/batchdDleteMbpz', data)
  }
  /**
   * 修改归档模板配置表
   */
  static updateMbpz(data: MbpzUpdateInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/xtpz/updateMbpz', data)
  }
  /**
   * 获取归档模板配置表
   */
  static getMbpz(data: MbpzGetInputDTO): Promise<commonOutDTO<MbpzGetOutputDTO>> {
    return axios.post('/api/xtpz/getMbpz', data)
  }
  /**
   * 查询归档模板配置表
   */
  static queryMbpz(data: MbpzQueryParam): Promise<commonOutDTO<MbpzQueryResult[]>> {
    return axios.post('/api/xtpz/queryMbpz', data)
  }
  /**
   * 新增卷内目录表
   */
  static addJnml(data: JnmlAddInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/xtpz/addJnml', data)
  }
  /**
   * 批量删除卷内目录表
   */
  static batchDeleteJnml(data: DeleteJnmlBatchInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/xtpz/batchDeleteJnml', data)
  }
  /**
   * 修改卷内目录表
   */
  static updateJnml(data: JnmlUpdateInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/xtpz/updateJnml', data)
  }
  /**
   * 获取卷内目录表
   */
  static getJnml(data: JnmlGetInputDTO): Promise<commonOutDTO<JnmlGetOutputDTO>> {
    return axios.post('/api/xtpz/getJnml', data)
  }
  /**
   * 分页查询卷内目录表
   */
  static queryJnml(data: JnmlQueryParam): Promise<commonOutDTO<JnmlQueryResult[]>> {
    return axios.post('/api/xtpz/queryJnml', data)
  }
  /**
   * 修改卷内目录顺序
   */ //JnmlsxUpdateInputDTO
  static batchUpdateJnmlsx(data: any): Promise<commonOutDTO<null>> {
    return axios.post('/api/xtpz/batchUpdateJnmlsx', data)
  }
  /**
   * 查询文书挂接目录
   */
  static queryWsgjml(data: WsgjmlQueryParam): Promise<commonOutDTO<WsgjmlQueryResult[]>> {
    return axios.post('/api/xtpz/queryWsgjml', data)
  }
  /**
   * 批量保存文书挂接
   */
  static batchAddWsgj(data: SaveInputDTO[]): Promise<commonOutDTO<null>> {
    return axios.post('/api/xtpz/batchAddWsgj', data)
  }
  /**
   * 分页查询分类代码
   */
  static queryFldm(data: FldmQueryParam): Promise<commonOutDTO<FldmQueryResult[]>> {
    return axios.post('/api/xtpz/queryFldm', data)
  }
  /**
   * 获取导出配置
   */
  static getDcpz(data: DcpzGetInputDTO): Promise<commonOutDTO<DcpzGetOutputDTO>> {
    return axios.post('/api/xtpz/getDcpz', data)
  }
  /**
   * 启用模板配置
   */
  static enableMbpz(data: MbpzEnableInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/xtpz/enableMbpz', data)
  }
  /**
   * 查询文书挂接明细
   */
  static queryWsgjmx(data: WsgjmxQueryParam): Promise<commonOutDTO<WsgjmxQueryResult[]>> {
    return axios.post('/api/xtpz/queryWsgjmx', data)
  }

  /**
   * 查询案件类别列表
   */
  static queryAjlblb(): Promise<commonOutDTO<FldmOuputDTO[]>> {
    return axios.post('/api/xtpz/queryAjlblb')
  }

  /**
   * 添加人员功能配置
   */
  static saveRygnpz(data: saveRygnpzInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/xtpz/saveRygnpz', data)
  }

  /**
   * 获取人员功能配置
   */
  static getRygnpz(data: getRygnpzInputDTO): Promise<commonOutDTO<any>> {
    return axios.post('/api/xtpz/getRygnpz', data)
  }

  /**
   * 查询模板目录
   */
  static getQueryMlmb(data: getMlmbInputDTO): Promise<commonOutDTO<any>> {
    return axios.post('/api/xtpz/queryMlmb', data)
  }

  /**
   * 查询卷内目录表
   */
  static getQueryJnml(data: getJnmlInputDTO): Promise<commonOutDTO<JnmlOutputDTO>> {
    return axios.post('/api/xtpz/queryJnml', data)
  }

  /**
   * 查询卷内目录表
   */
  static addBatchMl(
    data: addBatchMlInputDTO,
    ajbh: string,
  ): Promise<commonOutDTO<addBatchMlOutputDTO>> {
    return axios.post('/api/wsjzgl/addBatchMl', data, {
      headers: {
        ajbh,
      },
    })
  }

  /**
   * 获取当前登陆人数据权限
   */
  static getDlrsjqx(data: any): Promise<commonOutDTO<addBatchMlOutputDTO>> {
    return axios.post('/api/xtpz/qx/getDlrsjqx', data)
  }

  /**
   * 保存市院关联
   */
  static saveSyAjglgx(data: any): Promise<commonOutDTO<any>> {
    return axios.post('/api/xtpz/saveSyAjglgx', data)
  }
  /**
   * 修改挂接类型
   */
  static updateGjlx(data: any): Promise<commonOutDTO<any>> {
    return axios.post('/api/xtpz/updateGjlx', data)
  }
  /**
   * 查询操作日志
   */
  static queryListCzrz(data: any): Promise<commonOutDTO<any>> {
    return axios.post('/api/rzgl/queryListCzrz', data)
  }
}
